package cn.cttic.order.api.domain.bo;

import cn.cttic.order.api.domain.BaseInstallOrderSubPage;
import cn.cttic.common.mybatis.core.domain.BaseEntity;
import cn.cttic.common.core.validate.AddGroup;
import cn.cttic.common.core.validate.EditGroup;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 行驶证副页数据业务对象 base_install_order_sub_page
 *
 * @author Times.Studio
 * @date 2024-10-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BaseInstallOrderSubPage.class, reverseConvertGenerate = false)
public class BaseInstallOrderSubPageBo extends BaseEntity {

    /**
     * 标识
     */
    @NotBlank(message = "标识不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 销售订单
     */
    @NotBlank(message = "销售订单不能为空", groups = { AddGroup.class, EditGroup.class })
    private String saleOrderId;

    /**
     * 安装订单
     */
    @NotBlank(message = "安装订单不能为空", groups = { AddGroup.class, EditGroup.class })
    private String installOrderId;

    /**
     * 资源ID
     */
    @NotBlank(message = "资源ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ossId;

    /**
     * 资源地址
     */
    @NotBlank(message = "资源地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ossUrl;

    /**
     * 检验记录
     */
    @NotBlank(message = "检验记录不能为空", groups = { AddGroup.class, EditGroup.class })
    private String inspectionRecord;

    /**
     * 核定载质量
     */
    @NotBlank(message = "核定载质量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String approvedLoad;

    /**
     * 整备质量
     */
    @NotBlank(message = "整备质量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String curbWeight;

    /**
     * 外廓尺寸
     */
    @NotBlank(message = "外廓尺寸不能为空", groups = { AddGroup.class, EditGroup.class })
    private String overallDimensions;

    /**
     * 核定载人数
     */
    @NotBlank(message = "核定载人数不能为空", groups = { AddGroup.class, EditGroup.class })
    private String approvedCapacity;

    /**
     * 总质量
     */
    @NotBlank(message = "总质量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String totalQuality;

    /**
     * 燃油类型
     */
    @NotBlank(message = "燃油类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuleType;

    /**
     * 准牵引总质量
     */
    @NotBlank(message = "准牵引总质量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tractionTotalQuality;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remarks;

    /**
     * 档案编号
     */
    @NotBlank(message = "档案编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String documentNo;

    /**
     * 号牌号码
     */
    @NotBlank(message = "号牌号码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String carNo;

    /**
     * 证芯编号
     */
    @NotBlank(message = "证芯编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String caliber;


}
